export default {
	namespaced: true,
	
	state: () => ({
		// address : {}
		// 初始化address数据 从本地去取数据
		address: JSON.parse(uni.getStorageSync('addr') || '{}'),
		// 登录成功之后的token字符串
		token : uni.getStorageSync('token') || '',
		// 用户的基本信息
		userinfo: JSON.parse(uni.getStorageSync('userinfo') || '{}'),
		// 重定向的object对象 包含两个属性 { openType, from }
		redirectInfo: null
	}),
	
	mutations:{
		// 更新用户地址
		updateAddress (state,addr) {
			state.address = addr
			this.commit('m_user/saveAddressToStorage')
		},
		// 将用户地址持久化到本地存储
		saveAddressToStorage(state){
			uni.setStorageSync('addr',JSON.stringify(state.address))
		},
		// 更新用户信息
		updateUserInfo(state,userinfo){
			state.userinfo = userinfo
			this.commit('m_user/saveToUserInfoToStorage')
		},
		// 将用户信息持久化保存到本地
		saveToUserInfoToStorage(state){
			uni.setStorageSync('userinfo',JSON.stringify(state.userinfo))
		},
		// 更新用户的token
		updateUserToken(state,token){
			state.token = token
			this.commit('m_user/saveUserTokenToStorage')
		},
		// 将用户的token持久化到本地
		saveUserTokenToStorage(state){
			uni.setStorageSync('token',state.token)
		},
		// 更新重定向的信息对象
		updateRedirectInfo(state,info){
			state.redirectInfo = info
		}
	},
	
	getters:{
		addr(state){
			if(!state.address.provinceName) return ''
			
			
			return state.address.provinceName + state.address.cityName + state.address.countyName
					+ state.address.detailInfo
		}
	}
}